1. Technical Field
The present invention relates to an adaptive equalizing apparatus for use in a turbo receiver or the like which iterates equalization and decoding and, more particularly, to an adaptive equalizing apparatus which cancels interference by use of a priori information and then further suppresses interference and combines multipath components by filtering. The invention also pertains to a program for implementation of such an adaptive equalizing apparatus.
2. Prior Art
The problem to be tackled in the mobile communication business is how to accommodate a great many users (mobile stations) on a limited number of frequencies with high quality. A solution to this problem is a MIMO (Multiple-Input Multiple-Output) system such as shown in FIG. 1. In this system, letting j represent a bit index, symbols generated from information bits b1(j) to bN(j) are sent from a plurality of transmitters S1 to SN at the same point in time and at the same frequency, and these transmitted signals are received by a MIMO receiver 30 equipped with antennas #1 to #M. The MIMO receiver 30 processes the received signals to estimate the information bits b1(j) to bN(j) forming the symbols sent from the transmitters S1 to SN, and outputs the estimated information bits as b1′(j) to bN′(j) to output terminals Out1 to OutN, respectively.
A concrete configuration scheme of the MIMO receiver in the MIMO system is still under study. In the case of using the MLS (Maximum Likelihood Sequence Estimation) criterion for the configuration of the MIMO receiver configuration in the MIMO system, letting N represent the number of transmitters, P the number of constellation points and Q the number of multi-paths over which the transmit signal from each transmitter reaches each antenna of the MIMO receiver, the computational complexity of the MIMO receiver becomes enormous with an increase in the number N of transmitters and in the number Q of multi-paths since the computational complexity increases in proportion to P(Q−1)N. Further, in the case of receiving information sent as plural parallel signals from a single user, separation of each parallel signal calls for larger amounts of computations with an increase in the number of multi-paths. From this point of view, the present invention is of great utility especially when applied to a turbo receiver for multiple stream signals, but the invention is also effective in a turbo receiver for a single user (one transmitter), that is, for a single stream signal, and receivers of other systems. A description will be given first of a conventional single-user turbo receiver.
Single-User Turbo Receiver
FIG. 2 shows, by way of example, the configurations of a transmitter and a receiver in this case. In a transmitter 10 an input information bit stream b(j) is subjected to error correction encoding by a channel encoder 11 to generate a coded bit stream c(j). The stream c(j) is interleaved by an interleaver 12 into a stream c(k), which is used to modulate a carrier signal in a symbol mapping part 13 into a transmit symbol stream s(k). And the transmit symbol stream s(k) is added by multiplexing means 15 with a training symbol str(k) from a training symbol stream generator 14, thereafter being transmitted. In general, the transmit symbol stream s(k) is transmitted after being converted to the radio frequency band.
This transmit signal is sent over a transmission channel (each multi-path channel) to a receiver 20. In the receiver 20 a SISO (Soft-Input-Soft-Output) equalizer 21 equalizes delayed waves. The input signal r(k) received by the receiver 20 is usually converted in a receiving part (not shown) from the high-frequency to the base band, and base band received signal is sampled at a frequency one or more times higher than the symbol frequency of the transmit symbol stream to generate a digital signal, which is input as a digital received signal r(k) to the equalizer 21.
In the case of a single user, that is, when N=1 in FIG. 1, the received output from each receiving antenna #m (where m=1, 2, . . . , M) can be expressed as follows.
            r      m        ⁡          (      k      )        =                    ∑                  q          =          0                          Q          -          1                    ⁢                                    h            m                    ⁡                      (            q            )                          ·                  s          ⁡                      (                          k              -              q                        )                                +                  v        m            ⁡              (        k        )            where m is an antenna index, k is discrete time, h is a channel value (channel impulse response: channel characteristic), s(k) is a transmit symbol of the user (the transmitter 1), and vm(k) is an internal thermal noise of the receiver 20. And, the following equation is defined with the outputs from all the antennas #1 to #M represented as a vector r(k).
                              r          ⁡                      (            k            )                          =                ⁢                              [                                                            r                  1                                ⁡                                  (                  k                  )                                            ⁢                                                r                  2                                ⁡                                  (                  k                  )                                            ⁢                                                          ⁢              …              ⁢                                                          ⁢                                                r                  M                                ⁡                                  (                  k                  )                                                      ]                    T                                        =                ⁢                                            ∑                              q                =                0                                            Q                -                1                                      ⁢                                          H                ⁡                                  (                  q                  )                                            ·                              s                ⁡                                  (                                      k                    -                    q                                    )                                                              +                      v            ⁡                          (              k              )                                          where:v(k)=[v1(k)v2(k) . . . vM(k)]T H(q)=[h1(q)h2(q) . . . hM(q)]T T indicates a transposed vector (or matrix). Next, the following vector and matrix are defined taking the number Q of multi-paths (channels) into consideration. In the following description, symbols added with m=1, . . . , M and n=1, . . . , N as subscripts, respectively, denote indices to elements of vectors or matrices.
                                          y            ⁡                          (              k              )                                ≡                    ⁢                                    [                                                                    r                    T                                    ⁡                                      (                                          k                      +                      Q                      -                      1                                        )                                                  ⁢                                                                  ⁢                                                      r                    T                                    ⁡                                      (                                          k                      +                      Q                      -                      2                                        )                                                  ⁢                                                                  ⁢                …                ⁢                                                                  ⁢                                                      r                    T                                    ⁡                                      (                    k                    )                                                              ]                        T                                                        ≡                    ⁢                                    H              ·                              S                ⁡                                  (                  k                  )                                                      +                          n              ⁡                              (                k                )                                                                    where      :                          ⁢      H        =          [                                                  H              ⁡                              (                0                )                                                          ⋯                                              H              ⁡                              (                                  Q                  -                  1                                )                                                                                                                    0                                                                                                          ⋰                                                                                          ⋰                                                                                                          0                                                                                                        H              ⁡                              (                0                )                                                          ⋯                                              H              ⁡                              (                                  Q                  -                  1                                )                                                        ]      S(k)=[s(k+Q−1)s(k+Q−2) . . . s(k−Q+1)]T n(k)=[vT(k+Q−1)vT(k+Q−2) . . . vT(k)]T The following description will be given on the assumption of using the BPSK modulation scheme. In multivalued modulation using many values, too, the prior art and the present invention can easily be extended by appropriate symbol mapping and demapping. The vector r(k) defined above is input to the equalizer 21. The SISO equalizer 21 is a linear equalizer, from which is derived, as its equalized output, LLR (Log-Likelihood Ratio) Λ1 between the probabilities that each coded bit s(k) is +1 and −1.
                                          Λ            1                    ⁡                      [                          s              ⁡                              (                k                )                                      ]                          =                ⁢                  log          ⁢                                    P              ⁢                                                          ⁢                              r                ⁡                                  [                                                            s                      ⁡                                              (                        k                        )                                                              =                                                                  +                        1                                            ❘                                              y                        ⁡                                                  (                          k                          )                                                                                                      ]                                                                    P              ⁢                                                          ⁢                              r                ⁡                                  [                                                            s                      ⁡                                              (                        k                        )                                                              =                                                                  -                        1                                            ❘                                              y                        ⁡                                                  (                          k                          )                                                                                                      ]                                                                                            =                ⁢                                            λ              1                        ⁡                          [                              s                ⁡                                  (                  k                  )                                            ]                                +                                    λ              2              p                        ⁡                          [                              s                ⁢                                  (                  k                  )                                            ]                                          where λ1[s(k)] is external information that is sent to a subsequent decoder 24 and λ2p[s(k)] is a priori information that is sent to the equalizer 21. The LLR Λ1[s(k)] is fed to a subtractor 22, by which the a priori information λ2p[s(k)] is subtracted, and the subtracted output is provided to a de-interleaver 23, wherein it is subjected to de-interleaving opposite to that by the interleaver 12 to provide ), λ1[s(j)], which is fed to a SISO channel decoder 24. The decoder 24 performs SISO decoding by use of redundancy for the error correction added by the encoder 11 of the transmitter and outputs a decoded bit b′(j) as a temporary or final received signal, and calculates an LLR Λ2 for each bit by the following equation.
                                          Λ            2                    ⁡                      [                          s              ⁢                              (                j                )                                      ]                          =                ⁢                  log          ⁢                                    P              ⁢                                                          ⁢                              r                ⁢                                                                  [                                                      s                    ⁡                                          (                      j                      )                                                        =                                                            +                      1                                        ❘                                                                  λ                        1                                            ⁡                                              [                                                                              s                            ⁡                                                          (                              j                              )                                                                                ,                                                      j                            =                            0                                                    ,                                                                                                          ⁢                          …                          ⁢                                                                                                          ,                                                      B                            -                            1                                                                          ]                                                                                                                                P              ⁢                                                          ⁢                              r                ⁢                                                                  [                                                      s                    ⁡                                          (                      j                      )                                                        =                                                            -                      1                                        ❘                                                                  λ                        1                                            ⁡                                              [                                                                              s                            ⁡                                                          (                              j                              )                                                                                ,                                                      j                            =                            0                                                    ,                                                                                                          ⁢                          …                          ⁢                                                                                                          ,                                                      B                            -                            1                                                                          ]                                                                                                                                                        ≡                ⁢                                            λ              2                        ⁡                          [                              s                ⁡                                  (                  j                  )                                            ]                                +                                    λ              1              p                        ⁡                          [                              s                ⁡                                  (                  j                  )                                            ]                                          The output λ1[s(j)] from the deinterleaver 23 is provided as a priori information λ1p[s(j)] to a subtractor 25, by which the a priori information λ1p[s(j)] is subtracted from Λ2[s(j)]. The resulting λ2[s(j)] is provided as external information λ2p[s(k)] via an interleaver 26 to the equalizer 21 and the subtractor 22 during iteration processing. Depending on reception processing scheme, Λ1[s(k)] and Λ2[s(k)] may be replaced with λ1p[s(k)] and λ2p[s(k)], respectively. In this way, equalization and decoding are carried out iteratively to provide increased error rate.
Next, a detailed description will be given of the calculation of a linear filter that the equalizer 21 applies to a received vector y(k). The equalizer 21 uses the a priori information λ2p[s(k)] to calculate the following soft decision symbol estimated value.s′(k)=tanh[λ2p[s(k)]/2]Further, the equalizer 21 uses the estimated value and a channel matrix H to generate a replica of an interference component, H·S′(k), which is subtracted from the received signal. That is,
                                          Y            ′                    ⁡                      (            k            )                          ≡                ⁢                              y            ⁡                          (              k              )                                -                      H            ·                                          S                ′                            ⁡                              (                k                )                                                                            =                ⁢                              H            ·                          (                                                S                  ⁡                                      (                    k                    )                                                  -                                                      S                    ′                                    ⁡                                      (                    k                    )                                                              )                                +                      n            ⁡                          (              k              )                                          whereS′(k)=[s′(k+Q−1) . . . s′(k+1)0s′(k−1) . . . s′(k−Q+1)]T Since the replica H·S′(k) of the interference component is not exactly accurate, the interference component cannot completely be canceled by this processing. Then, optimum linear filter coefficients wopt(k) for complete cancellation of the remaining interference component are calculated by the following MMSE (Minimum Mean Square Error) criterion.wopt(k)=arg min∥wH(k)·y′(k)−s(k)∥2 where H represents a conjugate transposition and ∥*∥ represent the norm, then w(k) is calculated which minimizes the above equation.
The following scheme for the derivation of w(k) is described, for example, in Daryl Reynolds and Xiaodong Wang, “Low Complexity Turbo-Equalization for Diversity Channels,” ELSEVIER, Signal Processing, 81(2001), pp. 989–995. One of the primary challenges by the scheme is a sharp reduction of computational complexity. The computational complexity of the conventional MLSE turbo is in proportion to the order of PQ−1 (where P is the number of signal points of the transmit symbol), whereas according to this scheme the complexity is kept down to the order of Q3. Incidentally, wH(k)·y′(k) is the output from the equalizer 21, from which is calculated λ1[s(k)], which is provided via the de-interleaver 23 to the decoder 24 for decoding calculation.
There is proposed a method by which approximates the absolute value of a soft decision symbol estimated value s′n(k) to 1 in second and subsequent rounds of MMSE filter coefficients calculation in single-user turbo reception (see, for example, H. Ohmori, T. Asai, T. Matsumoto, “A matched filter approximation for SC/MMSE Iterative Equalizers,” IEEE Trans. Commun. Letters, vol., no. 7, pp. 310–312, July 2001).
Next, a description will be given of the turbo reception method set forth in European Patent Publication EP1233565A2 (corresponding U.S. Patent Application Publication No. 2002-016560-A1) which is an extension of the single-user turbo reception to a multi-user turbo reception method. Since the configuration of one user (transmitter n (where n=1, . . . , N) for the multi-input multi-output turbo reception method is the same as the transmitter configuration shown in FIG. 2, reference characters denoting the signal stream corresponding to that of the user n are each attached with a subscript n and put in parentheses.
Letting Q represent the number of multi-paths over which radio waves propagate from one transmitting antenna to one receiving antenna, the signal that is received by an m-th (where m=1, . . . , M) antenna #m is a signal that has convoluted a delay profile (channel characteristic) hmn(q) in the transmit signal sn from the transmitter Sn, and the signal rm(k) received by the m-th antenna #m is a combined version of received signals from all the transmitters S1 to SN and added with noise. Accordingly, the received signal rm(k) is given by the following equation.
                                          r            m                    ⁡                      (            k            )                          =                                            ∑                              q                =                0                                            Q                -                1                                      ⁢                          (                                                                    h                    mn                                    ⁡                                      (                    q                    )                                                  ⁢                                                                  ⁢                                                      s                                          n                      ⁢                                                                                                                            ⁡                                      (                                          k                      -                      q                                        )                                                              )                                +                                    n              m                        ⁡                          (              k              )                                                          (        1        )            Where nm(k) is an additive white Gaussian noise (AWGN) for the signal received by the m-th antenna #m.
In this specification, the following definition is given for convenience in writing the channel status (channel characteristic).
                                                                        r                ⁡                                  (                  k                  )                                            =                            ⁢                                                [                                                                                    r                        1                                            ⁡                                              (                        k                        )                                                              ⁢                                                                  r                        2                                            ⁡                                              (                        k                        )                                                              ⁢                                                                                  ⁢                    …                    ⁢                                                                                  ⁢                                                                  r                        M                                            ⁡                                              (                        k                        )                                                                              ]                                T                                                                                        =                            ⁢                                                                    ∑                                          q                      =                      1                                        Q                                    ⁢                                                            H                      ⁡                                              (                        q                        )                                                              ⁢                                          S                      ⁡                                              (                                                  k                          -                          q                                                )                                                                                            +                                  n                  ⁢                                                                          ⁢                                      (                    k                    )                                                                                                          (        2        )            where k is discrete time, T represents a transposed matrix or vector, and H(q), S(k) and n(k) are as follows.
                              H          ⁡                      (            q            )                          =                  [                                                                                          h                    11                                    ⁡                                      (                    q                    )                                                                                                                    h                    12                                    ⁡                                      (                    q                    )                                                                              ⋯                                                                                  h                                          1                      ⁢                      N                                                        ⁡                                      (                    q                    )                                                                                                                                            h                    21                                    ⁡                                      (                    q                    )                                                                                                                    h                    22                                    ⁡                                      (                    q                    )                                                                              ⋯                                                                                  h                                          2                      ⁢                      N                                                        ⁡                                      (                    q                    )                                                                                                      ⋮                                            ⋮                                            ⋰                                            ⋮                                                                                                          h                    M1                                    ⁡                                      (                    q                    )                                                                                                                    h                    M2                                    ⁡                                      (                    q                    )                                                                              ⋯                                                                                  h                    MN                                    ⁡                                      (                    q                    )                                                                                ]                                    (        3        )            S(k)=[s1(k)s2(k) . . . sN(k)]T  (4)n(k)=[n1(k)n2(k) . . . nM(k)]T  (5)
FIG. 3 shows the functional configuration of the MIMO turbo receiver. The MIMO space-time turbo receiver is formed by a MIMO equalizer 20A and decoding parts 20B1 to 20BN for respective signal streams (users), and reduces the bit error rate by iterating equalization and decoding of the same received signal. The received signals from antennas #1 to #M are input to the space-time turbo equalizer 20A as base-band digital signals r1(k) . . . , rN(k) each sampled with the symbol period, for instance. The MIMO equalizer 20A: generates a replica of the received interference signal by use of a second external information value (a second a priori information stream) which is fed back from a SISO (Soft-Input Soft-Output) decoder 24An in the preceding iteration of equalization and decoding; removes MAI (Multiple Access Interference) and ISI (Inter-Symbol Interference) from the received signal r(k) by use of the received interference signal replica; and calculates a first external information value (first a priori information stream) λ1[sn(k)] of each symbol by MMSE filtering. Incidentally, since in the first round of MIMO equalization for each frame it is impossible to utilize the second external information value λ2[sn(k)] obtainable in the previous iteration, the equalizer 20A performs only the equalization by the MMSE filter. The decoding part for the signal stream n (SISO decoding part for each user) 20Bn de-interleaves, by a de-interleaver 23, the first external information value λ1[sn(k)] calculated by the MIMO equalizer 20A and subjects the de-interleaved output to SISO decoding by a SISO decoder 24An. The second external information value λ2[sn(k)] obtained by the SISO decoding for each symbol sn(j) is interleaved by an interleaver 26 and fed back to the MIMO equalizer 20A as the second a priori information λ2p[sn(k)].
FIG. 4 illustrates the configuration of the MIMO equalizer 20A. The MIMO equalizer 20A comprises a channel estimation part 21C, equalization parts 21A1 to 21AN corresponding to respective signal streams, and a training symbol generating part 29, and each equalization part 21An is made up of an adaptive equalization part 27n and an external information generating part 28n. The channel estimation part 21C estimates the channel status (transmission channel characteristic) based on the received signal and a training symbol fed from the training symbol generating part 29.
FIG. 5 depicts the configuration of the adaptive equalization part 27n, which comprises an interference canceling part 31n, an MMSE filtering part 32n, and a filter coefficient calculating part 33n . FIG. 6 shows an example of the configuration of the interference canceling part 31n. Referring first to FIG. 6, a replica generator 34n generates a received interference signal replica of the interference (MAI, ISI) component in the received signal based on the second a priori information streams λ2[s1(k)], . . . , λ2[sN(k)] (except λ2[sn(k)]) and an estimated channel status (a channel estimated value) H, and a subtractor 35n subtracts the interference signal replica Hue,n(k) from the received signal r(k). An estimated value (soft decision symbol estimated value) s′n(k) of the transmit signal sn(k) of each user is calculated by the following equation from the second a priori information value λ2[sn(k)].s′n(k)=tanh(λ2[sn(k)]/2)  (6)The soft decision symbol estimated value s′n(k) is a transmit signal replica of a magnitude corresponding to its degree of reliability. The estimated value Ue,n(k) of the signal which becomes an interference component of the transmit signal sn(k) from the transmitter Sn at time k is as follows:Ue,n(k)=[un(k+(Q−1))un(k+(Q−2)) . . . un(k+1)Ucn(k)Un(k−1). . . un(k−(Q−1))]T  (7)un(k)=[s′1(k)s′2(k) . . . s′N(k)]  (8)ucn(k)=[s′1(k)s′2(k) . . . s′n−1(k)0s′n+1(k) . . . s′N(k)]  (9)
By generating the received interference signal replica Hue,n(k) for the interference component ue,n(k) and canceling the replica in the received signal r(k), it is possible to obtain an estimated value r′s,n(k) of the received signal for the transmit symbol sn(k) from the transmitter Sn at time k which is the symbol to be detected. That is, the estimated value r′s,n(k) is given by the following equation.r′s,n(k)=re(k)−Hue,n(k)  (10)wherere(k)=[r(k+Q−1)r(k+Q−2) . . . r(k)]T  (11)
                    H        =                  [                                                                      H                  ⁡                                      (                    0                    )                                                                                                H                  ⁡                                      (                    1                    )                                                                              ⋯                                                              H                  ⁡                                      (                                          Q                      -                      1                                        )                                                                                                                                                                                                                                          0                                                                                                                                                                    H                  ⁡                                      (                    0                    )                                                                                                H                  ⁡                                      (                    1                    )                                                                              ⋯                                                              H                  ⁡                                      (                                          Q                      -                      1                                        )                                                                                                                                                                                                                                                                                                                                                                                                                              ⋰                                                                                                                                                                                                                                                                                                                                                                                            0                                                                                                                                                                                                                          H                  ⁡                                      (                    0                    )                                                                                                H                  ⁡                                      (                    1                    )                                                                                                ⋯                  ⁢                                                                                                                                      H                  ⁡                                      (                                          Q                      -                      1                                        )                                                                                ]                                    (        12        )            In this case, however, the estimated value r′s,n(k) still contains interference components left uncanceled due to a bit decision error in the previous iteration and the usage of the soft output value.
Next, the cancellation of interference components still remaining after the cancellation of the received interference signal replica from the received signal and multi-paths combining are carried out by the MMSE filtering part 32n. Since in the early iterations many interference components remain uncancelled after the subtraction of the interference replica, the MMSE filtering part 32n functions as a filter which cancels the remaining interference components, and with an increase in the number of iterations, the MMSE filtering part 32n operates to perform maximum-ratio combining of multi-paths. Letting the output from the MMSE filtering part 32n be represented by zn(k), it is given as follows:zn(k)=wnH(k)rs,n(k)  (13)where H denotes a conjugate transposed matrix and wn(k) is a coefficient vector of the MMSE filtering part 32n, which is defined as follows in the filter coefficient calculating part 33n.wn(k)=[HΛn(k)HH+σ2I]−1hn  (14)where I is a unit matrix, hn is
                                                                        h                n                            =                            ⁢                              [                                                                            h                                              1                        ⁢                        n                                                              ⁡                                          (                                              Q                        -                        1                                            )                                                        ⁢                                                            h                                              2                        ⁢                        n                                                              ⁡                                          (                                              Q                        -                        1                                            )                                                        ⁢                                                                          ⁢                  …                  ⁢                                                                          ⁢                                                            h                      Mn                                        ⁡                                          (                                              Q                        -                        1                                            )                                                                                                                                                            ⁢                                                                    h                                          1                      ⁢                      n                                                        ⁡                                      (                                          Q                      -                      2                                        )                                                  ⁢                                                      h                                          2                      ⁢                      n                                                        ⁡                                      (                                          Q                      -                      2                                        )                                                  ⁢                                                                  ⁢                …                ⁢                                                                  ⁢                                                      h                    Mn                                    ⁡                                      (                                          Q                      -                      2                                        )                                                                                                                                                                                      ⁢              ⋯              ⁢                                                                                                                                                      ⁢                                                                            h                                              1                        ⁢                        n                                                              ⁡                                          (                      0                      )                                                        ⁢                                                            h                                              2                        ⁢                        n                                                              ⁡                                          (                      0                      )                                                        ⁢                                                                          ⁢                  …                  ⁢                                                                          ⁢                                                            h                      Mn                                        ⁡                                          (                      0                      )                                                                      ]                            T                                                          (        15        )            And, setting D(k) and Dc(k) toD(k)=[1−s′12(k)1−s′22(k) . . . 1−s′N2(k)]  (16)Dcn(k)=[1−s′12(k)1−s′22(k) . . . 1−s′n−12(k)1 1−s′n+12(k) . . . 1−s′N2(k)]  (17)Λn(k) is expressed as follows:Λn(k)=diag[D(k+(Q−1))D(k+(Q−2)) . . . D(k+1)Dcn(k)D(k−1) . . . D(k−(Q−1))]  (18)where σ2 represents the internal noise power of the receiver and diag a diagonal matrix (elements other than those of the diagonal are zeros).
With the prior art described above, symbols sent simultaneously from a plurality of user transmitters at the same frequency can be received by a plurality of antennas and separated for each user.
There is proposed, for example, in Japanese Patent Application Laid-Open Gazette 2002-33685 an interference canceller for use in the CDMA (Code Division Multiple Access) mobile communication system. To cancel interference for signals from a plurality of users, the proposed interference canceller provisionally decides a signal after error correction encoding and uses the provisionally decided value to generate a replica and, at this time, prevents occurrence of many errors attributable to the generation of a wrong replica when the above-mentioned provisionally decided value is wrong. This interference canceller will be described below with reference to FIG. 7 which is arranged for 3 users and 4 stages.
In a first stage 301 interference canceling parts (ICU) 311 to 313 each perform the processing shown in FIG. 8. In the first place, a RAKE receiving part 401 performs RAKE reception of a user signal. That is, for each path the user signal is despread in a despreading part 404, and the despread signal is provided to a channel estimation part 405 and a multiplication part 406. A channel estimated value derived from the despread signal in the channel estimation part 405 and the despread signal are multiplied in the multiplication part 406. Such multiplied outputs in the respective paths are added together in an adding part 407, and the result of RAKE reception, which is the result of the addition, is provided to an FEC (Forward Error Correction) decoding part 408 and a pre-FEC-decoding hard decision part 411 in a transmission data decision part 402.
The pre-FEC-decoding hard decision part 411 makes a hard decision directly based on the result of RAKE reception, and the FEC decoding part 408 performs FEC (Forward Error Correction) decoding based on the result of RAKE reception. The EFC decoded signal is subjected to hard decision in a hard decision part 409, thereafter being applied to an FEC encoding part 410 and an error detecting part 421. The FEC encoding part 410 performs FEC encoding of the hard decision signal, and outputs the FEC-encoded hard decision value to a switch 423 and the corresponding ICU parts 321 to 323 in a second stage 302.
An error detecting part 421 performs an error detection by CRC (Cyclic Redundancy Check), and applies the detected output to a switch control part 422 and the corresponding ICU parts 321 to 323 in the second stage 302.
The switch control part 422 controls the switch 423 according to the CRC output. When the CRC result is NG (error detected), the switch control part 422 controls the switch 423 to apply therethrough the yet-to-be-FEC-decoded hard decision value from the pre-FEC-decoding hard decision part 411 to a multiplying part 414 of each path in a replica generating part 403. The multiplying part 414 of each path in the replica generating part 403 multiplies the yet-to-be-FEC-decoded hard decision value and a channel estimated value of the corresponding path which is fed from the RAKE receiving part 401, and the multiplied output is provided to a re-spreading part 415, wherein it is spread in the same manner as at the transmitting side. The spread signals of the respective paths are added together in an adding part 416, and the added output is provided as a replica from each of the ICU parts 311 to 313, thereafter being applied to a second stage 302 via each of adding parts 315 to 317 in the first stage in FIG. 7.
When the CRC result is OK (no error detected), the switch control part 422 controls the switch 423 to apply therethrough the FEC-decoded hard decision signal (hard decision value) from the FEC ending part 410 to the multiplying part 414 of each path in the replica generating part 403.
Replicas of respective received signals from the ICU parts 311, 312 and 313 are subtracted in a subtracting part 314 from the received signal fed thereto via a delay part 310, and the subtracted received signal is added with replicas from the ICU parts 311, 312 and 313 in adding parts 315, 316 and 317, respectively. Accordingly, the output from the adding part 315, for instance, is equivalent to a signal obtainable by cancelling components of other user's received signals from the received signal. Similarly, the adding part 316 and 317 output the corresponding received signals from which other interference signals have been removed, respectively.
In the ICU parts 321 to 323 in the second stage 302, the RAKE receiving part 401 and the transmission data decision part 402 perform the same processing as in the case of the first stage 301 as shown in FIG. 9 in which the parts are denoted by reference numerals similar to those of the corresponding partsin FIG. 8. To the error detecting part 421 a are input the hard decision signal from the hard decision part 409 in the current stage (the second stage 302) and the CRC result provided from the previous stage (the first stage 301). To the switch part 423a are input a yet-to-be-decoded hard decision value and an FEC-decoded hard decision value in the current stage and the hard decision value provided from the previous stage. The current-stage error detected result (CRC result) in the error detecting part 421 a and the hard decision value from the FEC encoding part 410 are output to each of the corresponding ICU parts 331 to 333 of the next stage (third stage 303). The switch control part 422a selects its output signal to the replica generating part 403 according to the following three conditions. First, when the CRC result from the previous stage is OK (no error detected), the hard decision value of the previous stage is provided to the replica generating part 403. Second, when the CRC result from the previous stage is NG (error detected) and the CRC result on the hard decision signal in the current stage is OK, the hard decision value from the FEC encoding part 410 is selected and provided to the replica generating part 403. Third, when the CRC result from the previous stage is NG and the CRC result on the hard decision signal in the current stage is also NG, the hard decision value from the pre-FEC-decoding hard decision part 411 is selected and provided to the replica generating part 403.
Accordingly, the second stage 302 outputs each received signal having cancelled therefrom other received signals (interference signals). In the third stage 303, too, the same processing as in the second stage 302 is carried out. Turning to FIG. 10, the operation of each of the ICU parts 341 to 343 in the fourth stage 304 in FIG. 7 will be described below. The processing in the RAKE receiving part 401 is the same as in the case of the first stage 301. The output from the RAKE receiving part 401 is FEC decoded in the FEC decoding part 408 in a transmit data decision part 402a, and the FEC-decoded signal is subjected to hard decision in the hard decision part 409. A switch control part 422b controls a switch 423b to output therethrough, as a demodulated signal, the hard decision value of the previous stage or the hard decision signal from the hard decision part in the current stage, depending on whether the CRC result from the previous stage is OK (no error detected) or NG (error detect).
As described above, when the CRC result from the previous stage is OK, the error-free hard decision value of the previous stage is used to generate the replica—this ensures generation of an accurate replica. Besides, in this instance, a series of processes in the current stage, i.e. FEC decoding, hard decision and FEC encoding, become unnecessary, so that the computational complexity involved can be reduced. When the CRC result from the previous stage is NG and the CRC result in the current stage is OK, the error-free hard decision value in the current stage is used to generate the replica; hence, it is possible to obtain the replica with high accuracy. Further, when the CRC result from the previous stage is NG and the CRC result in the current stage is also NG, no wrong signal is used but a signal obtained by hard decision of a yet-to-be-FEC-decoded in the current stage is used to generate the replica—this excludes the possibility of a wrong replica by use of a wrong signal and provides for increased accuracy of replica.
Incidentally, in FIGS. 8 and 9, a soft-decision result of the output from the RAKE receiving part 401 may be used instead of the output from the pre-FEC decoding hard decision part 411.